#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QStandardItemModel>
#include <QItemSelectionModel>
#include <QFile>
#include <QTextStream>
#include <QFileDialog>
#include <QMessageBox>
#include <QInputDialog>
#include <QTableWidgetItem>
#include <qDebug>
#include <QtMath>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_actGetGrade_triggered();

    void on_actFIndStudent_triggered();



    void on_pushButton_clicked();

    void on_actGetStudent_triggered();

    void on_actStuudentEvalute_triggered();

    void on_actTeacher_triggered();

    void on_actStudent_triggered();

    void on_tableViewStudent_doubleClicked(const QModelIndex &index);

    void on_actGrade_triggered();

    void on_actGetTeacher_triggered();

    void on_actGetClass_triggered();

    void on_actClass_triggered();

    void on_btnChoiceClass_clicked();

    void on_btnLoseClass_clicked();

    void on_actTeacherEva_triggered();



    void on_pushButton_4_clicked();

    void on_actSysMange_triggered();

    void on_btnAppendTeacher_clicked();

    void on_btnAppendStudent_clicked();

    void on_btnAppendClass_clicked();

    void on_tvTeacher_doubleClicked(const QModelIndex &index);

    void on_tvStudent_doubleClicked(const QModelIndex &index);

    void on_tvClass_doubleClicked(const QModelIndex &index);

    void on_actSaveFile_triggered();

    void on_pushButton_2_clicked();

    void on_tableViewTeacher_doubleClicked(const QModelIndex &index);

    void on_combEvaTeacher_currentTextChanged(const QString &arg1);

    void on_combEvaTeacher_currentIndexChanged(int index);

private:
    Ui::MainWindow *ui;

    QStandardItemModel* m_modelGrade;//保存成绩的数据模型
    QItemSelectionModel m_modelGradeSelection;//保存成绩的数据模型的选择模型
    QStandardItemModel* m_tempModel;//保存查询数据集合的模型

    QStandardItemModel* m_modelStudentEvalute;//保存学生对老师的评价数据模型

    QStandardItemModel* m_modelStudent;//用于保存学生信息的数据模型

    QStandardItemModel* m_modelTeacher;//用于保存老师信息的数据模型

    QStandardItemModel* m_modelClass;//用于保存课程信息的数据模型

    QStringList m_classList;//课程列表
    QStringList m_studentList;//学生列表
    QStringList m_teacherList;//老师列表
    QStringList m_banJiList;//班级列表

    QString m_curStuName;//记录当前学生姓名
    QString m_curTeacherName;//记录当前老师姓名
};
#endif // MAINWINDOW_H
